package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.entity.AbdulBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 库存调拨对象 inv_inventory_transfer
 *
 * @author ruoyi
 * @date 2023-07-18
 */
@Data
@TableName("inv_inventory_transfer")
@ApiModel("库存调拨实体")
public class InvInventoryTransfer extends AbdulBaseEntity {

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty("主键ID")
    private Long id;

    /**
     * 调拨单号
     */
    @ApiModelProperty("调拨单号")
    private String transferOrderNo;

    /**
     * 调出单号
     */
    @ApiModelProperty("调出单号")
    private String outboundOrderNo;

    /**
     * 调出仓库
     */
    @ApiModelProperty("调出仓库")
    private Long outWarehouse;

    /**
     * 调入仓库类型
     */
    @ApiModelProperty("调入仓库类型")
    private String inWarehouseType;

    /**
     * 调入仓库
     */
    @ApiModelProperty("调入仓库")
    private Long inWarehouse;

    /**
     * 调拨时间
     */
    @ApiModelProperty("调拨时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date transferTime;

    /**
     * 调拨员工
     */
    @ApiModelProperty("调拨员工")
    private String transferStaff;

    /**
     * 调拨数量
     */
    @ApiModelProperty("调拨数量")
    private Integer transferQuantity;

    /**
     * 调拨总值（元）
     */
    @ApiModelProperty("调拨总值（元）")
    private Double totalValue;

    /**
     * 状态(1-等待调拨调出审核，2-调拨调出)
     */
    @ApiModelProperty("状态(1-等待调拨调出审核，2-调拨调出)")
    private Integer isStatus;


    //DTO
    @TableField(exist = false)
    @ApiModelProperty("库存调拨详情")
    List<InvInventoryTransferDetail> invInventoryTransferDetailList;

    @ApiModelProperty("创建开始时间")
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTimeStart;

    @ApiModelProperty("创建结束时间")
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTimeEnd;

    @ApiModelProperty("调拨开始时间")
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date transferTimeStart;

    @ApiModelProperty("调拨结束时间")
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date transferTimeEnd;


    @ApiModelProperty("调入仓库")
    @TableField(exist = false)
    private String inWarehouseDesc;

    @ApiModelProperty("调出仓库")
    @TableField(exist = false)
    private String outWarehouseDesc;
}
